Data system microprogramming control



March 10, 1970 n. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 KEYBOARD ENTRY [LOOP READER 2 U READER P C L A A W A M D Du E T 2 R l m W R P PRINTER-1 FlG.i

FIG. 7

d w G G S G M .u C P 3 3 m E l- G F F H V D N L I A N O D b d f 7 7 T m m m F F F O C 7 7 n F F H .D d f. 6 6 m m m F F F O C s a m s F F H FIG. 6

AGE/V March 10, 1970 D. E. WALLIS DATA SYSTEM MIGROPROGRAMMING CONTROL 19 Sheets-Sheet 2 Filed June 20, 1966 10 11 0.101110111 1111 1110010 2 BUSS 1001110) 11110/ 1110010 10 P111 PT 11 --s11111 011111 0111 W11 W11 1110151111 fl CONTROL 111110101011 1111 15111001 1 11 1111 I 11.10111 14 m (H) -*U %PUNCH 1 110111 PT 11 10 001111101 (11111105 1110010 mm mm PUNCH 1 0101011 T 12 I T T T I J 11111 F C MICRO 111010 $1111 CONTROL -1T-+11110111 5101 1s\ 1102110Ji( 111 11 011111 1 0111 0111s OUT 6 DECODE 111s10111 011011 m0 END 1102 111101 21 001111101 110011111 001111101 T 011111101111 11103 1111111 R50 111 5111111 ATTN REMSTER ATTENTION 1101110111 1? DETEBT'ON 0011 u1 1111101 EPO 001111101 FIG. 2 T

March 10, 1970 o. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL 19 Sheets-Sheet 5 Filed June 20, 1966 5 N m H uh Du j U DU I. A fi IL w G E TI 3 E R m 15 N T B U I Z R II T D: CL u S m "K III [I R 5 C R U m T HE T E J N N M T M I I. M II IL nfl mm H 5 I H I X IE w M m TDD V 0 WT A k R A [I M N I L U wur r VA Nm 0 U Du VA P 3 wx HDHUSS X P u VA 5 IL CI 0 A G L R s w E w h F E I T I CL nG DA V T LB T I T SE '6 R DI CL WA A R0 R DIC TT .I I S S m T U C 9G I Du H. I T I .I Z E P DI 0 R EE A m RICO CLA Dn m nU WE :L U can I 5 STATUS SUBROUTINE 6 INTERRUPT ROUTINE March 10, 1970 D. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 4 ADDRESS FIG. 3b DECODE MPX INTERFACE A BUSS s m p E B 8 Bugs REBTSTER i/ A P A Buss I REGISTER y I P R STORABE Z BUSS :1

CPU

8 SS TERMINAL ATTACHMENT PT & T TO DATA TERMINAL a 11 A BUSS Y Q 3/ T0 DATA CHECK TTT March 10, 1970 D. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL 19 Sheets-Sheet 5 Filed June 20, 1966 15 0 T T DATE DJ. TADs DDT TA F (TA) 7 5 DDNTRDLT M DDT T D. n REc|sTER A. i OUTPUT SELECT AND READY r 7 READER 2 READY INTERVENTION INTERVENTION REDDTRED N DR M A ATA TERMINAL DPERATTDRAE FE REQUIRED W 51 E DETECTION A CANCEL DEDDDE 0 6 U5 k READER2READY Us END mm TT D. T DPERATTDNAE 7 HOME READER sTART T Comm TRTER ENTTDRREDDTRED m REDDEsT REY REGISTER DATA CHECK 7 DATE DT. TAGS m (IT) wRTTE sRARE REDDEsT READERTDEDTDR WRHE DERERATE SHIFT DRARADTER TA-i READ READER2 Pk WRITE CONTROL READER-ISTROBE PUNCH-1CLUTCH [1] & WRITE START CLOCK-WRITE TA-0READER% sTART LATCH TA-TREADER-2DD a READ 0R RUN WRITELATCH 1, RAJ

PUNCH- HOM PUNCH-1 CLUTCH REM) READ SHARE MW a READ INQUIRY CONTROL W TA-2 PROCEED sum DEDDR READ L a w STARTCLOCKWRITE 0R R/w X CLOCK Y FIG. 3c

March 10, 1970 E 0. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 6 READER START LATCH READER 2 ON PROCEED RING 25ms =TNTERNAL CONTROL CARRT URN FEED BDrns AT 0N RESE DA RMINAL RESET READY INTERV no RE 0 ATTENT J PT u T0 DATA TERMTNAL E READER-2 PUNCH-2 8 ATA E 7, MTNAL 1 c p E Y U B I T T D P u 3 PT H FROM 0T E H 1 PRINTER -1 PRINTER -2 March 10, 1970 o. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 8 F I G. 60 [ME/R 0m 75mm mm Ram/v5 UNIT STATUS I5 MAINTAINED IN CPU LOCAL STORE I I IRRI I ANN/70A mm" J m an a) RESET ATTENTION LATCH (TA REGBITB) TURN ON MULTIPLEX SET BUSY R ATTENTION I II J BITS on m UNIT smus REG.

STORE RR. UNIT ADDR IN INTERRUPT BUFFER T TURN ON INTERRUPT STACKED IN UNIT smus REGISTER ITFYIIIIIRITINETIRIINNIRITYBIIIIIEENEVICE END) mcRo'FoRcE WILL'K'EEP J MICRO FORCE I REINSTATIIIG n IIIA SHARE HARE (IA REGEBIT 2) ROUTINE umr CONTROL r WORD IN TURN ON an 5 IN LOCAL STORE INDICATES T0 INTERRUPT ROUTINE THAT INTERRUPT Row CHAN smug IS ouEo AT THE DEVICE. IN THIS CASE IN THE um gm TERMINAL UNIT smus REG IN LOCAL STORAGE RESTORE am now EREIuRR CONTROL r T0 CPU I. I

WHEN INTERRUPT I5 TAKEN INDICATING "ATTENTION" FROM THE DATA TERMINAL IN THE C5W.THE I PROGRAM WILL NDRNALLY RESPOND WITH START I/D COMMAND I READ INQUIRY) T0 T HE DATA TERMINAL March 10, 1970 D. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL 19 Sheets-Sheet 9 Filed June 20, 1966 STIPRT OPERATOR WISHES TO SEND INFORMATION TO CPU PRESSES REQUEST KEY FIG. 6b

March 10, 1970 D. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL ENTER START I/() FROM I CYCLES FIG. 6c

TURN ON PROCEED & READER 2 ON IN IA (BITS I H) UNIT SENSE REGISTER IS IN CPU LOCAL STORE RESET SENSE REGISTER CCW R SET BUSY IN UNIT STATUS REG.

March 10, 1970 n. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 11 FIG. 6d

l l I I TIREBISTER ans INDICATES I n. I. OPERATIONAL l l I I "I I A L K QM I mww I I I I I i I y I I I LIGHT PROCEED I l LICHTIIUIILOCK I I KEYBOARD I I I I I L I I I I V... I I I T PM-MZWH/ I I I 5 I I CLOCK START LATCH ON CLOCK I OPERATORDEPRESSES I I RUNSW,X,Y,Z,=54ms I I 'I I E I I I I I IIEAII/IIRIIE REG SET I E I HOME TIMER DEVELOPS T I I PcII-IcIuIcII I J I I I a L THE TRANSLATE UC LATCH IS USED WITH THE READ XLATOR FOR PROPER EBCDI CODE READ SHARE REQUEST DROPS PROCEED LOCKS KBD SET )ILATE RESET XLATE UC LATCH UC LATCH I l I I 1. I I I I I I II SEND III. REE]. I0 IIPX L I I CHANNEL I I I I I I I I I BLOCK READ SH REQUEST CLOCK 5W5 U READ CLOCK INTLK 0N CLOCK STOPS March 10, 1970 D. E. WALLIS 3,

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 SheetsSheet l2 SET DEVICE END R CHANNEL END IN UNIT STATUS TURN OFF RUN MODE L RINITIATE AUTO CARRIER T RETURN & LINE FEED ENTER STATUS ROUTINE TO UPDATE UNIT STATUS HNITIATE AN MPX CHANNEL /0 INTERRUPT mu m DATA CHARACTER RSTDRE m MAIN STORAGE I INBRENENT UOW DATA ADDRESS I DECRENENT ucw cnum RESTORE CONTROL MLWH 0 SET ZERO COUNT BIT ON IN UCIII STATUS RESTORE CONTROL i550 #540 Mm TO CPU FIG. 6e

March 10, 1970 n. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 13 YES /T/0 I I l l I RESET READ CLOCK LNTLK- TT REG BIT 5 WILL ALLOW CLDCK TO RUN TNDICATES INTERVENTION REQUIRED CDNDLTIDN Q5 TT REC BIT 2 I I l 7 mmcms EOB OECODED T l L i n REG an o momma CANCEL 0500050 i i L mm on PROCEED L :figfifigfi L JLRQPJQQIL/MZK ucm. LOCK KEYBOARD I OH- PROCEED JQgjE/lf; 1 D0 CARRIER RETURN/ LTNE FEED I I n REG an Y I mmcms um cum END RESET READ SHARE REQUEST LATCH- REACTIVATE PROCEED TD D.T.

FIG. 6f

March 10, 1970 D. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 UNIT STATUS IS LOCATED IN CPU LOCAL STORE SET AUTO CARRIER RETURN LINE FEED MODIFIER IN UCW ONO BYTE TURN ON HOME READER START BIT IN TA REG 19 Sheets-Sheet 14 FIG. 7a

OPERATION/41 IBITITI RESET SENSE REGISTER LOAD NEW UCW FROM CCIII A SET BUSY ON IN UNIT STATUS RETURN TO CPU I CYCLE ROUTINE I I I T I I I I I I I I I I I I I I March 10, 1970 o. E. WALLIS 3,500,328

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet l5 POWER 0N WW fl m 5/? I I HM RDR ST LATCH 0N WRITE LATCH ON CLOCK START LATCH 0N CLOCK RUNS W. X,Y. Z

IN 60 ms RDR CLUTCH HILL DROP DURING A CR. LF 0R TAB OPERATIONTHE I I I I I I I I I t 5g w n SHARE CLOCK WILL STQP UNTIL RDR-I REQUEST CLUTCH I5 ACTIVE March 10, 1970 o. E. WALLIS 3,500,323

DATA SYSTEM MICROPROGRAMMING coumoz.

Filed June 20, 1966 19 Sheets-Sheet 16 FIG. 70

UNIT STATUS A 04/4 MTV/6f SET DEVICE END A CHANNEL END ON IN UNIT STATUS READ OUT DATA BYTE FROM MAIN STORAGE A BATE SAME T0 TE REG INCRENENT UDW DATA ADDRESS DECREMENT UCN COUNT March 10, 1970 D. a. WALLIS 3,50

DATA SYSTEM MICROPROGRAMMING CONTROL Filed June 20, 1966 19 Sheets-Sheet 1') I I I N0 OUTPUT SELECT IIREADY FORCE PROPER SHIFT CHARACTER II REG ans OR I INDICATE5 INTERVENTION N0 POWER on I REOU'RED NOT CPU MODE I ,I I I I I I SET CHAR IN Rw REG l I I W I I I I SET TE LATCH I RESET wR SH REG I I? I I I I I I I I I I I I PTRIHU r55 I LCHON? I I I I SET SHIFT LATCH I I I I I I A FIG. 7d

I I I I I I I I I I I I l March 10, 1970 o. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL 19 Sheets-Sheet 18 Filed June 20, 1966 N 0 n Du l N U 0 c 0 R E 7.- I E S RESTORE CONTROL E T I B S W A T S w c U m PULSE AUTO CARRIER RETURN MINE FEEDON IN TA REG (BIT 5) RESET TA REUSTER RESTORE CONTROL FIG. 7e

March 10, 1970 Filed June 20, 1966 D. E. WALLIS DATA SYSTEM MICROPROGRAMMING CONTROL 19 Sheets-Sheet 19 I 5 SET ALLOW SIROBE SET SHIFT LATCH ll RDR-I STROBE T0 01.

RESET PTR IH UC LCH SET PTR IN UC LCH lLI WRITE SHARE REQ.

awcnsn BY TE X RESET THE SHIFT a mow STROBE LCHS GATE THE R/W REC T0 D.T.

wan 0N mow STROBE LATCH ll RDR -I smoas I0 0. T. RESET THE IE mu lI RESET CLOCK START men BLOCKS DATE OF R/VI REC- SHIFT CHAR. CATED THE D.T. IIIILL START THE HOME TIMER-GATE THE SHIFT CHAR. In PERFORM A SHIFT OPERATION CHARACTER CATED TO THE HOME REC,

EXECUTE CARRIER RETURN I: LINE FEED HH TIHER STARTED CHARACTER PRINTS OR A FUNCTION IS PERFORMED FIG. 7f

United States Patent 3,500,328 DATA SYSTEM MICROPROGRAMMING CONTROL Donald E. Wallis, Endicott, N.Y., assignor to International Business Machines Corporation, Armonk, N.Y., a corporation of New York Filed June 20, 1966, Ser. No. 558,882 Int. Cl. G06f 3/00, 3/04 US. Cl. 340-1725 5 Claims ABSTRACT OF THE DISCLOSURE A direct and unique microprogram control of one or more remote terminal data communication systems in such a manner that the controlling microprogram simulates an equivalent multiplexor device with standard hardware within a central processing unit. The central processing unit is provided with a device level interface that is directly connected with the controlling microprogram and has the equivalent of channel, control unit and device level information in control directly accessible to it at essentially the same time and assumes a double role of both channel and control unit. The remote terminal microprograms transform all input status and sense information to the central processing unit into a format compatible with that produced by a normal multiplexor. The remote terminal microprograms accept standard I/O instructions and formats and execute direct device level control.

The present invention is directed to a system for microprogramming the data flow to and from an input/ output data terminal to a central processing unit. In particular, the present invention is directed to a system for microprogramming as a direct device level control functioning as an equivalent of a channel control unit for controlling the data flow between an input/output data terminal and a central processing unit.

The modern trend in data processing systems has been toward a range of computers which have a comprehensive range of computing versatility and compatibility as required by the many modern challenges of industry and science. In the prior art of data processing one of the problems has been a feeding of source data into the data processing equipment. Now data processing systems have been developed in which a centrally located processing unit is capable of exchanging information with a plurality of remotely located terminal units on a selective basis. In order to achieve maximum flexibility of control and selectivity, the use of microprogramming has been widely adopted. A data processing system making use of such microprogramming is shown in a co-pending application of the same assignee entitled Data Processing System, Ser. No. 357,327, filed Apr. 6, 1964, by G. M. Amdahl et al. In this data process system, a multiplexor channel is basically microprogram controlled and wherein the data flows are all executed by a channel microprogram control.

It is a primary object of this invention to provide a unique microprogrammed attachment which simulates normal multiplexor channel operations.

It is a further object of this invention to provide a direct and unique microprogram control for a remote terminal system operating in conjunction with a central processing unit.

It is another object of this invention to provide a microprogram control which enables modular selection and expandability to include various input/ output equipment units.

It is still a further object of the invention to provide a direct input/output device attachment to allow the Patented Mar. 10, 1970 ice controlling microprogram to simulate the usual input/ output device attachments.

Briefly, the present invention is concerned with a direct and unique microprogram control of one or more remote terminal data communication systems in such a manner that the controlling microprogram simulates an equivalent multiplexor device with standard hardware Within a central processing unit. In other words, the central processing unit in accordance with the present invention is provided with a device level interface that is directly connected with the controlling mieroprogram and has the equivalent of channel, control unit, and device level information in control directly accessable to it at essentially the same time and assumes the double role of both channel and control unit. The remote terminal microprograms transform all input status and sense information to the central processing unit into a format compatible with that produced by a normal multiplexor channel. The remote terminal microprograms accept standard I/O instructions and formats and execute direct device level control.

The foregoing and other objects, features and advantages of the invention will be apparent from the follow ing more particular description of a preferred embodiment of the invention, as illustrated in the accompanying drawings.

In the drawings:

FIG. 1 is a schematic showing of the over-all system configuration.

FIG. 2 is a schematic data flow and controls diagram for the terminal attachment of a central processing unit shown in FIG. 1.

FIG. 3a through 3d form a schematic diagram of the data flow and microprogram controls for the data transfer system.

FIG. 3 is a diagram showing the manner in which FIGS. 3a through 3d should be joined together.

FIG. 4 is a schematic data fiow diagram for equipment used in a data reading operation.

FIG. 5 is a schematic data How diagram for equipment used in a data write operation.

FIGS. 6a through 6} are a chart showing the microprogram control sequences for a data read operation.

FIG. 6 is a diagram showing the manner in which FIGS. 6a through 6) should be joined together.

FIGS. 7a through 71 are a chart showing the microprogram control sequences for a data write operation.

FIG. 7 is a diagram showing the manner in which FIGS. 70 through 7 should be joined together.

In FIG. 1 there is shown a basic system structure for a data processing system comprising a central processing unit (CPU) operating in conjunction with a remote data terminal (DT) which operates as an input/output (I/O) device to the CPU. The remote DT is coupled with the CPU through a terminal attachment control. The CPU includes main storage units and the facilities for addressing main storage, for retrieving or storing information, for arithmetic and logical processing of data, for sequencing instructions in the desired order, and for initiating the communication between storage and external devices.

In the main storage device is contained a plurality of addressable data locations for the data being handled. A plurality of registers, settable to indicate a byte (8 bits) of data, are contained in the CPU to provide address selection of indicated byte locations in the storage device. Temporary single byte status devices to indicate conditions within the machine and control subsequent operations and temporary storage buffers to register data bytes prior to, or during, or after a manipulation of this data within some arithmetical logical or input/out- 

